home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 19 / CU Amiga Magazine's Super CD-ROM 19 (1998)(EMAP Images)(GB)[!][issue 1998-02].iso / CUCD / Programming / LEDA / source / src / arith / isparc_place.s < prev    next >
Encoding:
Text File  |  1994-11-16  |  4.7 KB  |  399 lines

  1. gcc2_compiled.:
  2. ___gnu_compiled_c:
  3. .text
  4.     .align 4
  5.     .global _veceq
  6.     .proc    04
  7. _veceq:
  8.     !#PROLOGUE# 0
  9.     save %sp,-104,%sp
  10.     !#PROLOGUE# 1
  11.     cmp %i2,0
  12.     ble,a L7
  13.     mov 1,%i0
  14.     ld [%i1],%g3
  15. L8:
  16.     add %i1,4,%i1
  17.     ld [%i0],%g2
  18.     cmp %g2,%g3
  19.     be L4
  20.     add %i0,4,%i0
  21.     b L7
  22.     mov 0,%i0
  23. L4:
  24.     add %i2,-1,%i2
  25.     cmp %i2,0
  26.     bg,a L8
  27.     ld [%i1],%g3
  28.     mov 1,%i0
  29. L7:
  30.     ret
  31.     restore
  32.     .align 4
  33.     .global _vecgt
  34.     .proc    04
  35. _vecgt:
  36.     !#PROLOGUE# 0
  37.     save %sp,-104,%sp
  38.     !#PROLOGUE# 1
  39.     sll %i2,2,%g2
  40.     add %i0,%g2,%i0
  41.     cmp %i2,0
  42.     ble L11
  43.     add %i1,%g2,%i1
  44.     add %i0,-4,%i0
  45. L18:
  46.     ld [%i0],%g3
  47.     add %i1,-4,%i1
  48.     ld [%i1],%g2
  49.     cmp %g3,%g2
  50.     bleu L13
  51.     nop
  52.     b L17
  53.     mov 1,%i0
  54. L13:
  55.     blu,a L17
  56.     mov 0,%i0
  57.     add %i2,-1,%i2
  58.     cmp %i2,0
  59.     bg L18
  60.     add %i0,-4,%i0
  61. L11:
  62.     mov 0,%i0
  63. L17:
  64.     ret
  65.     restore
  66.     .align 4
  67.     .global _vecsr1
  68.     .proc    04
  69. _vecsr1:
  70.     !#PROLOGUE# 0
  71.     save %sp,-104,%sp
  72.     !#PROLOGUE# 1
  73.     sll %i1,2,%g2
  74.     add %i0,%g2,%i0
  75.     cmp %i1,0
  76.     be L21
  77.     mov 0,%g2
  78. L22:
  79.     add %i0,-4,%i0
  80.     ld [%i0],%i2
  81.     srl %i2,1,%g3
  82.     sll %g2,31,%g2
  83.     or %g3,%g2,%g3
  84.     mov %i2,%g2
  85.     addcc %i1,-1,%i1
  86.     bne L22
  87.     st %g3,[%i0]
  88. L21:
  89.     and %i2,1,%i0
  90.     ret
  91.     restore
  92.     .align 4
  93.     .global _vecsri
  94.     .proc    020
  95. _vecsri:
  96.     !#PROLOGUE# 0
  97.     save %sp,-104,%sp
  98.     !#PROLOGUE# 1
  99.     sll %i1,2,%g2
  100.     add %i0,%g2,%i3
  101.     cmp %i1,0
  102.     be L25
  103.     mov 0,%i4
  104.     mov 32,%g2
  105.     sub %g2,%i2,%i5
  106. L26:
  107.     add %i3,-4,%i3
  108.     ld [%i3],%i0
  109.     srl %i0,%i2,%g3
  110.     sll %i4,%i5,%g2
  111.     or %g3,%g2,%g3
  112.     mov %i0,%i4
  113.     addcc %i1,-1,%i1
  114.     bne L26
  115.     st %g3,[%i3]
  116. L25:
  117.     ret
  118.     restore
  119.     .align 4
  120.     .global _cvadd
  121.     .proc    04
  122. _cvadd:
  123.     !#PROLOGUE# 0
  124.     save %sp,-104,%sp
  125.     !#PROLOGUE# 1
  126.     cmp %i3,%i4
  127.     ble L28
  128.     mov 0,%o2
  129.     mov %i3,%l0
  130.     cmp %i4,0
  131.     ble L30
  132.     sub %l0,%i4,%i3
  133. L32:
  134.     ld [%i1],%o0
  135.     add %i1,4,%i1
  136.     ld [%i2],%o1
  137.     add %i2,4,%i2
  138.     mov %i0,%o3
  139.     call _PLACEadd,0
  140.     add %i0,4,%i0
  141.     add %i4,-1,%i4
  142.     cmp %i4,0
  143.     bg L32
  144.     mov %o0,%o2
  145. L30:
  146.     cmp %i3,0
  147.     ble L50
  148.     cmp %o2,0
  149. L36:
  150.     ld [%i1],%o0
  151.     add %i1,4,%i1
  152.     mov %i0,%o3
  153.     add %i0,4,%i0
  154.     call _PLACEadd,0
  155.     mov 0,%o1
  156.     add %i3,-1,%i3
  157.     cmp %i3,0
  158.     bg L36
  159.     mov %o0,%o2
  160.     b L50
  161.     cmp %o2,0
  162. L28:
  163.     mov %i4,%l0
  164.     cmp %i3,0
  165.     ble L49
  166.     sub %l0,%i3,%i4
  167. L41:
  168.     ld [%i1],%o0
  169.     add %i1,4,%i1
  170.     ld [%i2],%o1
  171.     add %i2,4,%i2
  172.     mov %i0,%o3
  173.     call _PLACEadd,0
  174.     add %i0,4,%i0
  175.     add %i3,-1,%i3
  176.     cmp %i3,0
  177.     bg L41
  178.     mov %o0,%o2
  179.     b L51
  180.     cmp %i4,0
  181. L45:
  182.     add %i2,4,%i2
  183.     mov %i0,%o3
  184.     add %i0,4,%i0
  185.     call _PLACEadd,0
  186.     mov 0,%o0
  187.     mov %o0,%o2
  188.     add %i4,-1,%i4
  189. L49:
  190.     cmp %i4,0
  191. L51:
  192.     bg,a L45
  193.     ld [%i2],%o1
  194.     cmp %o2,0
  195. L50:
  196.     bne L46
  197.     st %o2,[%i0]
  198.     b L48
  199.     mov %l0,%i0
  200. L46:
  201.     add %l0,1,%i0
  202. L48:
  203.     ret
  204.     restore
  205.     .align 4
  206.     .global _cvsub
  207.     .proc    04
  208. _cvsub:
  209.     !#PROLOGUE# 0
  210.     save %sp,-104,%sp
  211.     !#PROLOGUE# 1
  212.     mov 0,%o2
  213.     cmp %i4,0
  214.     ble L67
  215.     sub %i3,%i4,%l0
  216. L56:
  217.     ld [%i1],%o0
  218.     add %i1,4,%i1
  219.     ld [%i2],%o1
  220.     add %i2,4,%i2
  221.     mov %i0,%o3
  222.     call _PLACEsub,0
  223.     add %i0,4,%i0
  224.     add %i4,-1,%i4
  225.     cmp %i4,0
  226.     bg L56
  227.     mov %o0,%o2
  228.     b L69
  229.     cmp %o2,0
  230. L59:
  231.     add %i1,4,%i1
  232.     mov %i0,%o3
  233.     add %i0,4,%i0
  234.     call _PLACEsub,0
  235.     mov 0,%o1
  236.     mov %o0,%o2
  237.     add %l0,-1,%l0
  238. L67:
  239.     cmp %o2,0
  240. L69:
  241.     bne,a L59
  242.     ld [%i1],%o0
  243.     cmp %l0,0
  244.     ble,a L68
  245.     add %i0,-4,%i0
  246. L63:
  247.     ld [%i1],%o0
  248.     st %o0,[%i0]
  249.     add %i1,4,%i1
  250.     add %l0,-1,%l0
  251.     cmp %l0,0
  252.     bg L63
  253.     add %i0,4,%i0
  254.     b L68
  255.     add %i0,-4,%i0
  256. L66:
  257.     add %i3,-1,%i3
  258. L68:
  259.     cmp %i3,0
  260.     ble L65
  261.     nop
  262.     ld [%i0],%o0
  263.     cmp %o0,0
  264.     be,a L66
  265.     add %i0,-4,%i0
  266. L65:
  267.     ret
  268.     restore %g0,%i3,%o0
  269.     .align 4
  270.     .global _vecaddto
  271.     .proc    016
  272. _vecaddto:
  273.     !#PROLOGUE# 0
  274.     save %sp,-104,%sp
  275.     !#PROLOGUE# 1
  276.     cmp %i2,0
  277.     ble L72
  278.     mov 0,%o2
  279. L74:
  280.     ld [%i1],%o1
  281.     add %i1,4,%i1
  282.     ld [%i0],%o0
  283.     call _PLACEadd,0
  284.     mov %i0,%o3
  285.     mov %o0,%o2
  286.     add %i2,-1,%i2
  287.     cmp %i2,0
  288.     bg L74
  289.     add %i0,4,%i0
  290. L72:
  291.     ret
  292.     restore %g0,%o2,%o0
  293.     .align 4
  294.     .global _vecsubto
  295.     .proc    016
  296. _vecsubto:
  297.     !#PROLOGUE# 0
  298.     save %sp,-104,%sp
  299.     !#PROLOGUE# 1
  300.     cmp %i2,0
  301.     ble L77
  302.     mov 0,%o2
  303. L79:
  304.     ld [%i1],%o1
  305.     add %i1,4,%i1
  306.     ld [%i0],%o0
  307.     call _PLACEsub,0
  308.     mov %i0,%o3
  309.     mov %o0,%o2
  310.     add %i2,-1,%i2
  311.     cmp %i2,0
  312.     bg L79
  313.     add %i0,4,%i0
  314. L77:
  315.     and %o2,1,%i0
  316.     ret
  317.     restore
  318.     .align 4
  319.     .global _vecdiv
  320.     .proc    016
  321. _vecdiv:
  322.     !#PROLOGUE# 0
  323.     save %sp,-104,%sp
  324.     !#PROLOGUE# 1
  325.     mov 0,%o1
  326.     sll %i3,2,%o0
  327.     add %i0,%o0,%i0
  328.     cmp %i3,0
  329.     ble L82
  330.     add %i1,%o0,%i1
  331. L84:
  332.     add %i1,-4,%i1
  333.     add %i0,-4,%i0
  334.     mov %o1,%o0
  335.     ld [%i1],%o1
  336.     mov %i2,%o2
  337.     call _PLACEdiv,0
  338.     mov %i0,%o3
  339.     add %i3,-1,%i3
  340.     cmp %i3,0
  341.     bg L84
  342.     mov %o0,%o1
  343. L82:
  344.     ret
  345.     restore %g0,%o1,%o0
  346.     .align 4
  347.     .global _vecmul
  348.     .proc    016
  349. _vecmul:
  350.     !#PROLOGUE# 0
  351.     save %sp,-104,%sp
  352.     !#PROLOGUE# 1
  353.     cmp %i3,0
  354.     ble L87
  355.     mov 0,%o2
  356. L89:
  357.     ld [%i1],%o0
  358.     add %i1,4,%i1
  359.     mov %i0,%o3
  360.     add %i0,4,%i0
  361.     call _PLACEmul,0
  362.     mov %i2,%o1
  363.     add %i3,-1,%i3
  364.     cmp %i3,0
  365.     bg L89
  366.     mov %o0,%o2
  367. L87:
  368.     ret
  369.     restore %g0,%o2,%o0
  370.     .align 4
  371.     .global _vecmulsub
  372.     .proc    016
  373. _vecmulsub:
  374.     !#PROLOGUE# 0
  375.     save %sp,-104,%sp
  376.     !#PROLOGUE# 1
  377.     cmp %i3,0
  378.     ble L92
  379.     mov 0,%o2
  380. L94:
  381.     ld [%i1],%o0
  382.     add %i1,4,%i1
  383.     mov %i0,%o3
  384.     add %i0,4,%i0
  385.     call _PLACEmulsub,0
  386.     mov %i2,%o1
  387.     add %i3,-1,%i3
  388.     cmp %i3,0
  389.     bg L94
  390.     mov %o0,%o2
  391. L92:
  392.     ld [%i0],%o0
  393.     mov %o2,%o1
  394.     mov 0,%o2
  395.     call _PLACEsub,0
  396.     mov %i0,%o3
  397.     ret
  398.     restore %g0,%o0,%o0
  399.